home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / HELP_UTL / COLLMA / GENHLP.INT < prev    next >
Text File  |  1994-04-16  |  3KB  |  81 lines

  1. UNIT GenHlp;    {--- Registration values between 2061..2080 ---}
  2.  
  3. INTERFACE
  4.  
  5. TYPE
  6.      PCollEntry = ^TCollEntry;
  7.      TCollEntry = record
  8.        DisplayText: PString;  {- text to be displayed in ListBox        -}
  9.        lineText   : PString;  {- text to be returned in associated line -}
  10.        UserVal    : Pointer;  {- User information;                      -}
  11.        UserSize   : word;     {- SizeOf structure pointed by 'UserVal'  -}
  12.        isTagged   : boolean;  {- TRUE if this item is toggled on        -}
  13.      end;
  14.  
  15. {--- A collection of 'TCollEntry' ---}
  16.      PHlpCollection = ^THlpCollection;
  17.      THlpCollection = object(TSortedCollection)
  18.        FUNCTION Compare(Key1, Key2: Pointer): Integer; virtual;
  19.        PROCEDURE FreeItem(Item: Pointer); virtual;
  20.        FUNCTION GetItem(VAR S: TStream): Pointer; virtual;
  21.        PROCEDURE PutItem(VAR S: TStream; Item: Pointer); virtual;
  22.      end;
  23.  
  24.      CollFunc = FUNCTION: PHlpCollection;
  25.  
  26.      HlpRecType = record
  27.        HlpRec: record
  28.          aCollList: PHlpCollection; {collection itself}
  29.          aListPos : word;           {position of selected element}
  30.        end;
  31.        allowToggle: boolean;
  32.        aCollFunc  : CollFunc;       {pointer to the function which creates
  33.                                      the collection}
  34.      end;
  35.  
  36.      {--- 'TGlobalHlp' can be use directly in dialog boxes ---}
  37.      PGlobalHlp = ^TGlobalHlp;
  38.      TGlobalHlp = object(TSortedListBox)
  39.        useList: boolean;
  40.        sendMsg: boolean;
  41.        oldFoc: integer;
  42.        CONSTRUCTOR Init(VAR Bounds: TRect; ANumCols: Word; AsendMsg: boolean;
  43.                                                      AScrollBar: PScrollBar);
  44.        CONSTRUCTOR Load(VAR S: TStream);
  45.        PROCEDURE GetData(VAR Rec); virtual;
  46.        FUNCTION GetKey(VAR S: String): Pointer; virtual;
  47.        FUNCTION GetText(Item: Integer; MaxLen: Integer): String; virtual;
  48.        FUNCTION IsSelected(Item: Integer): Boolean; virtual;
  49.        PROCEDURE HandleEvent(VAR Event: TEvent); virtual;
  50.        FUNCTION DataSize: Word; virtual;
  51.        PROCEDURE SetData(VAR Rec); virtual;
  52.        PROCEDURE Store(VAR S: TStream);
  53.        DESTRUCTOR Done; virtual;
  54.      end;
  55.  
  56. {--- 'THlpView' can be attached to an 'ImputLine' with an up arrow icon;
  57.       will display a pickup collection ---}
  58.      PHlpView = ^THlpView;
  59.      THlpView = object(TView)
  60.        LineLink : PInputLine;
  61.        HelpTitle: TTitleStr;
  62.        wViewHlp : HlpRecType;
  63.        wColPtr  : PCollEntry;
  64.        CONSTRUCTOR Init(VAR Bounds: TRect;
  65.                       VAR wHlpView: HlpRecType;
  66.                           HlpTitle: TTitleStr;
  67.                              ALink: PInputLine);
  68.        CONSTRUCTOR Load(VAR S: TStream);
  69.        DESTRUCTOR Done; virtual;
  70.        PROCEDURE Draw; virtual;
  71.        PROCEDURE HandleEvent(VAR Event: TEvent); virtual;
  72.        FUNCTION GetPalette: PPalette; virtual;
  73.        PROCEDURE GetCollElement(VAR CollEntry: TCollEntry); virtual;
  74.        PROCEDURE Store(VAR S: TStream);
  75.      end;
  76.  
  77. PROCEDURE RegisterGenHlp;
  78.  
  79. IMPLEMENTATION
  80.  
  81.